home *** CD-ROM | disk | FTP | other *** search
- #include <PP_Types.h>
- #include <MacTypes.h>
- #include <QuickDraw.h>
- #include <QDOffscreen.h>
-
- #pragma once
-
- typedef STACK_UPP_TYPE (InitGrafProcPtr) InitGrafUPP;
- typedef STACK_UPP_TYPE (SetPortProcPtr) SetPortUPP;
- typedef STACK_UPP_TYPE (Get1IndResourceProcPtr) Get1IndResourceUPP;
-
- typedef pascal OSErr (*Patched_GetDiskFragmentProcPtr) (
- const FSSpec* fileSpec,
- long offset,
- long length,
- Str63 fragName,
- CFragLoadOptions findFlags,
- CFragConnectionID* connID,
- Ptr* mainAddress,
- Str255 errName);
-
-
- enum {
- initGraf_ProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER (1, SIZE_CODE (sizeof (void*))),
- setPort_ProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER (1, SIZE_CODE (sizeof (GrafPtr))),
- get1IndResource_ProcInfo = kPascalStackBased
- | RESULT_SIZE (SIZE_CODE (sizeof (Handle)))
- | STACK_ROUTINE_PARAMETER (1, SIZE_CODE (sizeof (ResType)))
- | STACK_ROUTINE_PARAMETER (2, SIZE_CODE (sizeof (short)))
-
- };
-
- #define NewInitGrafProc(userRoutine) \
- (InitGrafUPP) NewRoutineDescriptor ((ProcPtr)(userRoutine), initGraf_ProcInfo, GetCurrentArchitecture())
- #define NewSetPortProc(userRoutine) \
- (SetPortUPP) NewRoutineDescriptor ((ProcPtr)(userRoutine), setPort_ProcInfo, GetCurrentArchitecture())
- #define NewGet1IndResourceProc(userRoutine) \
- (Get1IndResourceUPP) NewRoutineDescriptor ((ProcPtr)(userRoutine), get1IndResource_ProcInfo, GetCurrentArchitecture())
-
- #define CallInitGrafProc(userRoutine, globals) \
- CALL_ONE_PARAMETER_UPP((userRoutine), initGraf_ProcInfo, (globals))
- #define CallSetPortProc(userRoutine, port) \
- CALL_ONE_PARAMETER_UPP((userRoutine), setPort_ProcInfo, (port))
- #define CallGet1IndResourceProc(userRoutine, type, index) \
- (Handle) (CALL_TWO_PARAMETER_UPP((userRoutine), setPort_ProcInfo, (type), (index)))
-
-
- typedef pascal long (*SdevMainProcPtr) (
- unsigned long message,
- Handle prefsHandle,
- Rect *statusRect,
- GrafPtr statusPort);
-
- typedef STACK_UPP_TYPE (SdevMainProcPtr) SdevMainUPP;
-
- enum {
- sdevMain_ProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER (1, SIZE_CODE (sizeof (unsigned long)))
- | STACK_ROUTINE_PARAMETER (2, SIZE_CODE (sizeof (Handle)))
- | STACK_ROUTINE_PARAMETER (3, SIZE_CODE (sizeof (Rect*)))
- | STACK_ROUTINE_PARAMETER (4, SIZE_CODE (sizeof (GrafPtr)))
- | RESULT_SIZE (SIZE_CODE (sizeof (long)))
- };
-
- #define NewSdevMainProc(userRoutine) \
- (SdevMainUPP) NewRoutineDescriptor ((ProcPtr)(userRoutine), sdevMain_ProcInfo, GetCurrentArchitecture())
-
- #define CallSdevMainProc(userRoutine, message, prefsHandle, statusRect, statusPort) \
- (long) (CALL_FOUR_PARAMETER_UPP((userRoutine), sdevMain_ProcInfo, (message), (prefsHandle), (statusRect), (statusPort)))
-
- struct SStubInfo {
- Boolean isFragment; /* 0 = code resource, 1 = code fragment */
- union {
- Handle handle;
- ProcPtr procPtr;
- } stub;
- union {
- Handle handle;
- ProcPtr procPtr;
- } module;
- UInt32 width;
- Boolean goingUp;
- Boolean startingUp;
- SInt32 amountWider;
- };
-
- typedef struct SStubInfo SStubInfo;
-
- #define StubListSize 128
- #define kMagnificationFactor 3
-
- struct SDockStripGlobals {
- GWorldPtr offscreenGWorld;
- GWorldPtr updatePort;
- CGrafPort ourPort;
- SStubInfo moduleList [StubListSize];
- SetPortUPP saveSetPort;
- Boolean someRunning;
- Boolean needUpdate;
- long lastUpdate;
- };
-
- typedef struct SDockStripGlobals SDockStripGlobals;
-
- #define dockStripGestalt 'doks'
- #define dockStripSignature 'doks'
-
- long AfterModule (
- SDockStripGlobals* globals,
- UInt32 index,
- unsigned long message,
- Handle prefsHandle,
- Rect* statusRect,
- GrafPtr statusPort,
- long result);
-
- unsigned long BeforeModule (
- SDockStripGlobals* globals,
- UInt32 index,
- unsigned long message,
- Handle prefsHandle,
- Rect* statusRect,
- GrafPtr statusPort,
- Boolean* runModule);
-